package com.yuheadline.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dust.yuheadline.common.utils.Result;
import com.yuheadline.model.user.domain.User;
import com.yuheadline.model.user.dto.UserLoginDto;
import com.yuheadline.model.user.dto.UserRegisterDto;
import com.yuheadline.model.user.vo.GetUserInfoVo;
import com.yuheadline.model.user.vo.UserLoginVo;
import com.yuheadline.model.user.vo.UserRegisterVo;
import org.springframework.lang.NonNull;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author 高翔宇
 * @since 2024/4/30 周二 上午10:26
 */
public interface UserService extends IService<User> {
    /**
     * 登录
     */
    Result<UserLoginVo> login(UserLoginDto userLoginDto);

    /**
     * 注册
     */
    Result<UserRegisterVo> register(UserRegisterDto userRegisterDto);

    /**
     * 查询当前用户基本信息
     */
    Result<GetUserInfoVo> queryUserInfo();

    /**
     * 更新头像
     */
    Result<String> updateAvatar(@NonNull MultipartFile multipartFile);

    /**
     * 更新用户名
     */
    Result<?> updateUsername(@NonNull String username);

    /**
     * 更新自我介绍
     */
     Result<?> updateIntroduction(@NonNull String introduction);
}
